package org.csu.onlineedubackend.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import org.csu.onlineedubackend.dto.ChapterWithLessonsDTO;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
@TableName("course")
public class Course {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private Integer teacherId;
    private String title;
    private String category;
    private String level;
    private String coverUrl;
    private String introMd;
    private BigDecimal price;
    private Integer previewPercent;
    private Integer status;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
    private Integer subscriberCount;

    @TableField(exist = false) // MyBatis-Plus注解，表示不是表字段
    private List<ChapterWithLessonsDTO> chapters;

    @TableField(exist = false)
    private Double rating;

    // getter/setter
//    public List<ChapterWithLessonsDTO> getChapters() {
//        return chapters;
//    }
//    //    public void setChapters(List<ChapterWithLessonsDTO> chapters) {
////        this.chapters = chapters;
////    }
//    public Integer getId() {
//        return id;
//    }
//    public void setId(Integer id) {
//        this.id = id;
//    }
//    public Integer getTeacherId() {
//        return teacherId;
//    }
//    public void setTeacherId(Integer teacherId) {
//        this.teacherId = teacherId;
//    }
//    public String getTitle() {
//        return title;
//    }
//    public void setTitle(String title) {
//        this.title = title;
//    }
//    public String getCategory() {
//        return category;
//    }
//    public void setCategory(String category) {
//        this.category = category;
//    }
//    public String getLevel() {
//        return level;
//    }
//    public void setLevel(String level) {
//        this.level = level;
//    }
//    public String getCoverUrl() {
//        return coverUrl;
//    }
//    public void setCoverUrl(String coverUrl) {
//        this.coverUrl = coverUrl;
//    }
//    public String getIntroMd() {
//        return introMd;
//    }
//    public void setIntroMd(String introMd) {
//        this.introMd = introMd;
//    }
//    public BigDecimal getPrice() {
//        return price;
//    }
//    public void setPrice(BigDecimal price) {
//        this.price = price;
//    }
//    public Integer getPreviewPercent() {
//        return previewPercent;
//    }
//    public void setPreviewPercent(Integer previewPercent) {
//        this.previewPercent = previewPercent;
//    }
//    public Integer getStatus() {
//        return status;
//    }
//    public void setStatus(Integer status) {
//        this.status = status;
//    }
//    public LocalDateTime getCreatedAt() {
//        return createdAt;
//    }
//    public void setCreatedAt(LocalDateTime createdAt) {
//        this.createdAt = createdAt;
//    }
//    public LocalDateTime getUpdatedAt() {
//        return updatedAt;
//    }
//    public void setUpdatedAt(LocalDateTime updatedAt) {
//        this.updatedAt = updatedAt;
//    }
//    public Integer getSubscriberCount() {
//        return subscriberCount;
//    }
//    public void setSubscriberCount(Integer subscriberCount) {
//        this.subscriberCount = subscriberCount;
//    }
//
//
}